Перем ЮнитТест;

#Область ОбработчикиСобытийМодуля

Функция ПолучитьСписокТестов(МенеджерТестирования) Экспорт
	
	ЮнитТест = МенеджерТестирования;

	СписокТестов = Новый Массив;

	СписокТестов.Добавить("ТестКонструктор");
	СписокТестов.Добавить("TestConstructor");
	СписокТестов.Добавить("ТестДобавитьДокументацию");
	СписокТестов.Добавить("ТестДобавитьИнформациюДляПриложения");

	Возврат СписокТестов;

КонецФункции

#КонецОбласти

#Область ОбработчикиТестирования

Процедура ТестКонструктор() Экспорт

	Аннотация = Новый АннотацияXS;
	
	ЮнитТест.ПроверитьРавенство(ТипЗнч(Аннотация), Тип("АннотацияXS"));
	ЮнитТест.ПроверитьРавенство(Аннотация.ТипКомпоненты, ТипКомпонентыXS.Аннотация);
	ЮнитТест.ПроверитьРавенство(ТипЗнч(Аннотация.Компоненты), Тип("ФиксированныйСписокКомпонентXS"));
	ЮнитТест.ПроверитьРавенство(ТипЗнч(Аннотация.Состав), Тип("СписокКомпонентXS"));

КонецПроцедуры

Procedure TestConstructor() Export

	Annotation = new XSAnnotation;
	
	ЮнитТест.ПроверитьРавенство(TypeOf(Annotation), Type("XSAnnotation"));
	ЮнитТест.ПроверитьРавенство(Annotation.ComponentType, XSComponentType.Annotation);
	
EndProcedure

Процедура ТестДобавитьДокументацию() Экспорт

	Аннотация = Новый АннотацияXS;
	
	Документация = Новый ДокументацияXS;
	Аннотация.Состав.Добавить(Документация);
	
	ЮнитТест.ПроверитьРавенство(Аннотация.Состав.Количество(), 1);
	ЮнитТест.ПроверитьИстину(Аннотация.Содержит(Документация));
	ЮнитТест.ПроверитьРавенство(Документация.Контейнер, Аннотация);

КонецПроцедуры

Процедура ТестДобавитьИнформациюДляПриложения() Экспорт

	Аннотация = Новый АннотацияXS;
	
	ИнформацияДляПриложения = Новый ИнформацияДляПриложенияXS;
	Аннотация.Состав.Добавить(ИнформацияДляПриложения);
	
	ЮнитТест.ПроверитьРавенство(Аннотация.Состав.Количество(), 1);
	ЮнитТест.ПроверитьИстину(Аннотация.Содержит(ИнформацияДляПриложения));
	ЮнитТест.ПроверитьРавенство(ИнформацияДляПриложения.Контейнер, Аннотация);

КонецПроцедуры

#КонецОбласти